home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / What's New? / Development Kits / Speech Recognition Mgr 1.5b6 / SR Goodies / TestClient / Read Me next >
Encoding:
Text File  |  1996-03-22  |  3.1 KB  |  76 lines  |  [TEXT/MPS ]

  1. TestClient Native is an application used by the Speech Recognition group to test the
  2. functionality of the Speech Recognition API.  While some features have been disabled
  3. in this version, it is still very useful for prototyping different language models 
  4. which can be easily read in from a text file.  One such example text file, 
  5. 'Test Grammar.tc,' is provided.
  6.  
  7. Basic instructions:
  8. 1) Launch TestClient Native.
  9. 2) Choose 'Open… Live Desktop' from the file Menu.  This allocates a recognizer and opens
  10. a window onto the state of the recognizer.
  11. 3) Click 'Start Listening'.  Now when you speak, recognition results are posted as text;
  12. otherwise no action is taken.
  13. 4) To see the currently active language model (what the recognizer is listening for)
  14. choose 'Paste Grammar' from the Grammar menu.
  15. 5) To select another built in grammar, choose it from the Grammar menu.
  16. 6) To select another file-based grammar, choose 'Open Grammar Text…' from the Grammar menu.
  17. TestClient Native will parse the text file, making the necessary Speech Recognition API
  18. calls to build the language model described in the file.  If there's a problem with
  19. the content of the file, TestClient Native will do its best to let you know why.
  20.  
  21. There are also controls allowing one to request Begin-Detect notification.  When this
  22. option is used, the recognizer will enter the 'Search Waiting' state until you click
  23. the 'Continue Recognition' button (this is useful when one wishes to build language
  24. models dynamically). Another check box allows one to specify whether the recognition 
  25. results should be delivered by AppleEvent or callback.  The 'Speed vs. Accuracy' pop 
  26. up sets the kSpeedVsAccuracyParam of the recognizer to 0, 35 or 80, for Accurate, 
  27. Compromise and Fast, respectively.  Finally, you can experiment with mulitiple
  28. recognizer windows.
  29.  
  30. Here's a complete description of the grammar used by TestClient Native to parse language model
  31. descriptions:
  32.  
  33.     Backus-Naur Form Context Free Grammar for PlainTalk Language Models:
  34.  
  35.     <ws> ::==                                 // white space; explicit references to <ws> have been
  36.         ' '  |                                // left out of the following productions,
  37.         '\n' |                                // however <ws>* is assumed to delimit each
  38.         '\t';                                // terminal & nonterminal in each production.
  39.     
  40.     <language model assignment> ::==
  41.         <lhs> '=' <rhs> ';'
  42.     
  43.     <lhs> ::==
  44.         <lm> |                                // default finishing (kAddPauses)
  45.         '[' <lm> ']' |                        // + Optional
  46.         <lm> '*' |                            // + Repeat
  47.         <lm> 'j' '=' <number>                // + reJection
  48.         <lm> <flagSpec>                        // + arbitrary flag combination
  49.         
  50.     <flagSpec> = 'ronpj' | ...  | 'RONPj' | // ...=> all possible upper/lower case
  51.                  'ronpJ' '=' <number> |        // combinations of 'RONPJ'
  52.                  .                            // allows setting of Repeat, Optional,
  53.                  .                            // Noise, Pauses & reJection flags 
  54.                  .                            // independently.
  55.                  'RONPJ' '=' <number>;
  56.     
  57.     <number> ::== [0-9]+
  58.         
  59.     <lm> ::==
  60.         '<' <word> '>'
  61.         
  62.     <word> ::== 
  63.         [[a-z,A-Z,',",-,0-9]]                // standard pascal identifier with ' & "
  64.     
  65.     <rhs> ::==
  66.         <phrase> |
  67.         <phrase> '|' <rhs>
  68.         
  69.     <phrase> ::==
  70.         <word> |
  71.         <lm> |
  72.         <word> <phrase> |
  73.         <lm> <phrase>        
  74.         
  75.     NOTE that default finishing adds pauses.
  76.